\chapter{Salus: Robust and Scalable Storage}
\label{chapter-salus}

\newcommand{\foosys}{Salus\xspace}
\newcommand{\Foosys}{Salus\xspace}
\newcommand{\sys}{Salus\xspace}
\newcommand*\circled[1]{\tikz[baseline=(char.base),font=\footnotesize]{
            \node[shape=circle,draw,inner sep=1pt] (char) {#1};}}

\newcommand{\apiText}[1]{{\sc #1}}

\newcommand{\dn}{datanode\xspace}
\newcommand{\Dn}{DataNode\xspace}
\newcommand{\DN}{DN\xspace}
\newcommand{\dns}{DN\xspace}
\newcommand{\rs}{region server\xspace}
\newcommand{\Rs}{Region server\xspace}
\newcommand{\RS}{RS\xspace}
\newcommand{\rss}{RS\xspace}
\newcommand{\rrs}{RRS\xspace}
\newcommand{\Rss}{RS\xspace}
\newcommand{\Rrs}{RRS\xspace}
\newcommand{\m}{Master\xspace}
\newcommand{\oc}{ordered-commit\xspace}

\newcommand{\splfault}{benign arbitrary\xspace}
\newcommand{\fs}{freshness\xspace}
\newcommand{\Fs}{Freshness\xspace}

\newcommand{\get}{\textsc{get}\xspace}
\newcommand{\commit}{\textsc{commit}\xspace}
\newcommand{\abort}{\textsc{abort}\xspace}
\newcommand{\Get}{\textsc{get}\xspace}
\newcommand{\pput}{\textsc{put}\xspace}
\newcommand{\PPut}{\textsc{put}\xspace}



\input{salus_intro}
\input{salus_requirements}
\input{salus_background}
\input{salus_implementation}
\input{salus_evaluation}
\input{salus_conclusion}

